
This resource address can be used to update the properties for the specified role.
| URL Parameters | |
|---|---|
| format | The format of the posted data. Can be either
json (default) or xml. This value overrides the Accept header if
both are present. |
| Response Headers | |
|---|---|
| Content-type | The MIME type of the data in the response
body. Depending upon the value of the format parameter or Accept header, either
application/xml or application/json. |
Upon success, MarkLogic Server returns status code 204 (No Content). If the payload is malformed or the database does not exist, a status code of 400 (Bad Request) is returned. A status code of 401 (Unauthorized) is returned if the user does not have the necessary privileges.
manage-admin and security rolehttp://marklogic.com/xdmp/privileges/manage
http://marklogic.com/xdmp/privileges/manage-admin
http://marklogic.com/xdmp/privileges/role-set-name
http://marklogic.com/xdmp/privileges/role-set-decription
http://marklogic.com/xdmp/privileges/role-set-roles
http://marklogic.com/xdmp/privileges/role-set-external-names
http://marklogic.com/xdmp/privileges/role-set-default-collections
http://marklogic.com/xdmp/privileges/role-set-default-permissions
http://marklogic.com/xdmp/privileges/privilege-add-roles
http://marklogic.com/xdmp/privileges/privilege-remove-roles
manage role, http://marklogic.com/xdmp/privileges/manage plus the following granular privileges:
http://marklogic.com/xdmp/privileges/create-data-rolehttp://marklogic.com/xdmp/privileges/role/edit/role-IDhttp://marklogic.com/xdmp/privileges/grant-my-privilegesqueries was added in 10.0-7.
Note: The properties described here are for XML payloads. In general they are the same for
JSON, with the exception that, in JSON, roles, permissions,
privileges, collections, and queries are expressed in
singular form. For example, in JSON, roles is instead role and the
format is: "role":["rolename"]. Please pay special attention that the singular
form of queries is capability-query.
The structure of the output returned from this REST API is as follows:
role-namedescriptioncompartmentexternal-namesThis is a complex structure with the following children:
external-namerolesThis is a complex structure with the following children:
rolepermissionsThis is a complex structure with the following children:
permissionThis is a complex structure with the following children:
role-namecapabilityprivilegesThis is a complex structure with the following children:
privilegeThis is a complex structure with the following children:
privilege-nameactionkindcollectionsThis is a complex structure with the following children:
collectionqueriesThis is a complex structure with the following children:
capability-queryThis is a complex structure with the following children:
capabilityqueryThis is a complex structure with the following children:
cts:query
curl -X PUT --anyauth -u admin:admin -H "Content-Type:application/json" \
-d '{"description":"engineers"}' http://localhost:8002/manage/v2/roles/engineer/properties
==> Changes the description for the role, "engineer," to "engineers".
// JSON payload example for updating a role with queries.
$ cat payload.json
{
"role-name":"region-EMEA",
"description":"Can see region EMEA documents.",
"compartment":"compartment-region",
"capability-query":[{
"capability":"node-update",
"query": {
"elementQuery": {
"element": ["metadata"],
"query": {
"elementWordQuery": {
"element": ["region"],
"text": ["EMEA"],
"options": ["lang=en"]
}
}
}
}
}]
}
curl -X PUT -i --digest -u admin:admin -H "Content-Type:application/json" \
-d @payload.json http://localhost:8002/manage/v2/roles/region-EMEA/properties
==> Changes the role queries of a role, named "region-EMEA", from capability "read" to
capability "node-update".
(: XML payload for updating a role with queries :)
$ cat payload.xml
<role-properties xmlns="http://marklogic.com/manage/role/properties">
<compartment>compartment-region</compartment>
<role-name>region-EMEA</role-name>
<description>Can see region EMEA documents.</description>
<queries>
<capability-query>
<capability>node-update</capability>
<query>
<cts:element-query xmlns:cts="http://marklogic.com/cts">
<cts:element>metadata</cts:element>
<cts:element-word-query>
<cts:element>region</cts:element>
<cts:text xml:lang="en">EMEA</cts:text>
</cts:element-word-query>
</cts:element-query>
</query>
</capability-query>
</queries>
</role-properties>
curl -X PUT -i --digest -u admin:admin -H "Content-Type:application/xml" \
-d @payload.xml http://localhost:8002/manage/v2/roles/region-EMEA/properties
==> Changes the role queries of a role, named "region-EMEA", from capability "read" to
capability "node-update".
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.